The Internet community has defined an organizational framework of data, which provides a naming authority allowing any company or group to define information within the framework in a way that allows any or all of this data to coexist. Under the control of the International Telecommunications Union (ITU) and the International Standards Organization (ISO), the organizational framework has been constructed as a tree. The root of the tree is managed by the ITU and the ISO. Branches extending from the tree may be assigned to other organizations for defining the child branches for that branch. A MIB is a data base that describes a set of items that management applications and agents use to report and control managed devices. Management applications can include, but are not limited to configuration, discovery and topology managers. Management agents are the managed devices themselves. A DSL access device can be one of these managed devices.
A MIB begins with a line naming the MIB. The name of the MIB is followed by an import statement which allows the definition of other MIB's that may be incorporated into the MIB being defined. These import statements are typically called Requests for Comments (RFC's). Each RFC is assigned a unique number that identifies the document. For example, RFC1212 defines the formal grammar for a Simple Network Management Protocol (SNMP) MIB. SNMP is a widely used protocol that enables interoperable network management. The SNMP protocol defines a set of commands that a management application may use to retrieve or change the value of items that a management agent is making available.
Within the MIB is a structure for organizing managed items. The structure is formed by defining a group or groups of related pieces of information. A group is defined by naming it and showing how it fits into an inherence tree. Groups may contain information in the form of items or "objects", subgroups, or a combination of the two. Each subgroup is configured like a group.
Within a group, data can be organized in one of two methods. A scalar item is a single piece of information within a group. A table is a structure for organizing data that requires more information to uniquely identify a single data item within a group of similar items.
Each item, whether scalar or part of a table, defined in a MIB includes a description which defines the item. Typically, the description includes SYNTAX, ACCESS, STATUS and DESCRIPTION clauses. The SYNTAX clause specifies the type of information which the item contains. Information types typically specified by the SYNTAX clause include INTEGER, OCTET STRING, Counter and DisplayString. INTEGER specifies that the value of the item should be interpreted as a number. OCTET STRING specifies that the value of the item should be interpreted as a string of octets, each having a value between 0 and 255. Counter specifies that the item is an INTEGER that has an implied range of zero to FFFFFFFF. DisplayString specifies that the item is an OCTET STRING where each octet is restricted to a printable ASCII character.
The ACCESS clause specifies the ways the item may be used and shows the actions which the agent may support for the item. ACCESS may be read-only, read-write or not-accessible. Read-only means that the value of the item may be retrieved by a management application but may not be altered. Read-write means that the item may be read and/or altered by a management application. Not-accessible is given as the access for organizational constructs that do not represent data items. Not-accessible is used only for table features and should not be used for a scalar item. The STATUS clause specifies whether the item is required for an agent that supports the defined group. A STATUS of mandatory means that the item will always be present if the defined group is supported by the agent. A STATUS of optional means that a particular implementation has the optional of supporting the item. The DESCRIPTION clause contains a double quote delimited text description of the item. Finally, the item definition ends by specifying how the item fits into the MIB tree. The group the item belongs to is given, followed by the unique branch number within the group for the item.
To organize a table requires the use of two additional operators, the SEQUENCE operator and the SEQUENCE OF operator. The SEQUENCE operator allows the definition of a new type that consists of several standard types in a specific order. The SEQUENCE OF operator allows the definition of a list of zero or more of the same type of elements. A table is formed by defining a SEQUENCE, typically called a table entry. A table is defined as a SEQUENCE OF the table entry type. As there is no data that is uniquely referred to by the name of the table or entry, the STATUS of the table and the table entry is not-accessible. The INDEX clause specifies the items can be used to uniquely identify an element in the table.
A MIB may also contain trap definitions. A trap is a notification sent by the SNMP agent located within the managed device to a management station, or from the management station to a higher level manager. The trap includes specific information for use by the management application. The trap is sent to inform the management station about an event that has occurred on the managed system. The trap definition begins with the name of the trap, followed by the term TRAP-TYPE. An ENTERPRISE clause follows to indicate the MIB in which the trap is defined. An optional VARIABLES clause may also be included to specify additional information that will be sent in the trap. Typically, the additional information contained in the VARIABLES clause will be items defined in the MIB identified in the ENTERPRISE clause. A DESCRIPTION clause which explains the significance of the trap and the conditions that would cause it to be sent follows. Finally, the trap is given a number to identify it. The number will be unique within the scope of the ENTERPRISE. Both the enterprise name and the trap number are used by the management station to uniquely determine the identity of a received trap.